ArkTS Router

# ArkTS Router

ArkTs 的路由管理与 vue-router 非常相似,几乎可以说是无缝衔接了。

router 中的几个方法

# router 的导航模式

  • Single
  • Standard

Single 模式下,页面实例只会创建一次, 栈内的数量取决于打开的不同页面的数量。

Standard 模式,页面实例会重复创建,栈内元素的数量取决于页面跳转的数量。

默认情况下,router 的跳转模式使用的是 Standard

# pushUrl

pushUrl 可以像路由栈的栈顶添加一个页面。

当然这取决于使用何种模式进行路由跳转。

pushUrl 的第一个参数是一些配置如跳转的页面路径、携带的参数等。

router.pushUrl({
	url:'pages/xxxx',
	params:{}
})

url ,url 是一个以 pages 开始的绝对路径 前面不要加 "/"

params , params 是一个引用类型的数据,且只接受引用类型的数据,如果传入基本类型的数据,那么得到的将是 undefined

# replaceUrl

与 pushUrl 基本相同,区别在于:

replaceUrl 会替换当前栈顶元素

在 Standard 模式下,会新创建一个页面实例,替换当前的页面,栈内数量不变。

在 Single 模式下,会将离栈顶最近的一个实例移到栈顶,然后销毁当前页面实例,栈内数量 -1

如果栈内不存在跳转页面,则会创建新的页面实例。

# back

返回。

可传参,参考 pushUrl 参数配置。

# clear

清空栈内元素。

# getParams

获取路由跳转的参数。仅为引用类型的数据。

# showAlertBeforeBackPage

打开一个询问弹窗。

可配置

router.showAlertBeforeBackPage({message: 'xxxx'});

确定会继续执行下面的代码,

否则跳出当前操作。